Universidade do Minho
Departamento de Produção e
Sistemas
Departamento de Informática
Simulação de um Sistema CAPP
Professor: Goran Putnik Email: putnikgd@eng.uminho.pt
Aluno: José Oliveira Email: si4340@ci.uminho.pt
1996
Este trabalho permite a produção automática de
peças directamente a partir de um desenho bitmap.
Este trabalho tem interesse na produção
rápida de protótipos e na produção personalizada de peças.
A utilização deste sistema automático não
necessita de conhecimentos técnicos. Tudo o que o utilizador necessita é
fornecer um desenho em formato bitmap. Este desenho pode ser obtido
duma fotografia ou desenhado à mão livre.
O objectivo principal deste trabalho é
implementar um programa para gerar automaticamente um conjunto de instruções
para controlar uma máquina de corte.
O trabalho foi dividido em 4 partes:
Desenho da peça - Processo executado numa aplicação de desenho. A descrição da peça sai num ficheiro BMP.

Descrição do caminho de corte - É lido o ficheiro BMP e gerado um ficheiro com a descrição do caminho para a ferramenta de corte.

Instruções para a máquina de corte - É lido o ficheiro do trajecto da ferramenta e geradas as instruções para a máquina de corte.
|
Simulação da máquina de corte no computador - É lido o ficheiro com as instruções para a máquina de corte e visualizada uma simulação do trabalho da máquina no écran de computador.

· O formato das instruções está de acordo com o standard RS-274-B. Os programas são gerados simultaneamente no formato tab sequencial e no formato word address. As palavras das instruções seguem a seguinte ordem: n, g, x, y, z, i, j, k, f, s, m.
· São utilizadas as seguintes funções g (preparatory functions): g01 (corte & contorno).
· A dimensão das palavras é no máximo 5 digitos, com resolução BLU=0.01 mm, programação incremental (endereços relativos) e são usados zeros à esquerda e à direita. Quando alguma palavra não é usada significa que não há alteração.
· A palavra de feed tem 4 digitos, calculados com o inverse-time code. É usado um feedrate constante de 2500 mm/min.
· A codificação da velocidade de spindle é através do three-digit magic-three code. É usada uma velocidade constante de spindle igual a 1740 rpm.
· O programa gerado não usa comandos tool porque só é usada uma ferramenta.
· São utilizadas as seguintes funções miscellaneous:
|
m3 |
Inicia splindle CW (sentido horário) |
|
m8 |
Inicia coolant #1 |
|
m30 |
Fim de programa & rebobinar |
|
|
|
Por defeito é seleccionada uma ferramenta de 5 mm de diâmetro (máximo 20 mm) localizada a 40 mm acima do alvo no ponto inicial.
O centro do trajecto da ferramenta deve estar a uma determinada distância do contorno. Esta distância deve ser igual a metade do diâmetro da ferramenta.
É lido o ficheiro do trajecto da ferramenta e geradas as instruções para a máquina de corte.
São adicionadas instruções extra para o controle da máquina: spindle, feedrate, coolant, etc.
Para executar na máquina, o operador move a ferramenta para o set point, carrega as instruções e activa a máquina.
|
n1 g1 x2000 y2000 f400 s700 m3 |
Posicionar no inicio do corte. Iniciar spindle. |
|
n2 g1 z-4000 f500 m8 |
Baixar a ferramenta. Iniciar coolant. |
|
n3 g1 x2000 f60 |
Corte horizontal. |
|
n4 g1 y2000 f60 |
Corte vertical. |
|
n5 g1 x-2000 y-2000 f70 |
Corte diagonal. |
|
n6 g1 x-2000 y-2000 z4000 f80 m30 |
Levantar ferramenta. Regressar ao start-point. Terminar & rebobinar. |
|
palavra |
#digitos |
descrição |
|
n |
3 |
sequential number |
|
g |
2 |
preparatory function |
|
x |
5 |
dimensional word |
|
y |
5 |
dimensional word |
|
f |
4 |
feedrate code |
|
s |
3 |
spindle speed code |
|
m |
2 |
miscellaneous function |
Desenho original

FILE: FACE.BMP
Código intermédio: trajecto da ferramenta de corte
GOTO 8300
8300
MOVE -6700 0
MOVE 0 -6700
MOVE 6800 0
MOVE 0 6700
MOVE -100 0
GOTO 6400
3200
MOVE -2200 0
MOVE 0 -300
MOVE 2300 0
MOVE 0 300
MOVE -100 0
GOTO 5400
4800
MOVE -400 0
MOVE 0 -400
MOVE 500 0
MOVE 0 400
MOVE -100 0
GOTO 7000
6400
MOVE -1200 0
MOVE 0 -500
MOVE 1300 0
MOVE 0 500
MOVE -100 0
GOTO 4600
6400
MOVE -1200 0
MOVE 0 -400
MOVE 1300 0
MOVE 0 400
MOVE -100 0
END
FILE: FACE.PATH
Código final no formato tab sequencial
+001 +01 +08300 +08300 +0213 +717 +03
+002 +01 -04000 +0625 +08
+003 +01 -06700 +00000 +0373
+004 +01 +00000 -06700 +0373
+005 +01 +06800 +00000 +0368
+006 +01 +00000 +06700 +0373
+007 +01 -00100 +00000 +25000
+008 +01 -01900 -05100 +04000 +0370
+009 +01 -04000 +0625
+010 +01 -02200 +00000 +1136
+011 +01 +00000 -00300 +8333
+012 +01 +02300 +00000 +1087
+013 +01 +00000 +00300 +8333
+014 +01 -00100 +00000 +25000
+015 +01 -01000 +01600 +04000 +0565
+016 +01 -04000 +0625
+017 +01 -00400 +00000 +6250
+018 +01 +00000 -00400 +6250
+019 +01 +00500 +00000 +5000
+020 +01 +00000 +00400 +6250
+021 +01 -00100 +00000 +25000
+022 +01 +01600 +01600 +04000 +0544
+023 +01 -04000 +0625
+024 +01 -01200 +00000 +2083
+025 +01 +00000 -00500 +5000
+026 +01 +01300 +00000 +1923
+027 +01 +00000 +00500 +5000
+028 +01 -00100 +00000 +25000
+029 +01 -02400 +00000 +04000 +0536
+030 +01 -04000 +0625
+031 +01 -01200 +00000 +2083
+032 +01 +00000 -00400 +6250
+033 +01 +01300 +00000 +1923
+034 +01 +00000 +00400 +6250
+035 +01 -00100 +00000 +25000
+036 +01 -04600 -06400 +04000 +0283 +30
FILE: FACE.TAB
Código final no formato word address
n+001 g+01
x+08300 y+08300 f+0213 s+717 m+03
n+002 g+01
z-04000 f+0625 m+08
n+003 g+01
x-06700 y+00000 f+0373
n+004 g+01
x+00000 y-06700 f+0373
n+005 g+01
x+06800 y+00000 f+0368
n+006 g+01
x+00000 y+06700 f+0373
n+007 g+01
x-00100 y+00000 f+25000
n+008 g+01
x-01900 y-05100 z+04000 f+0370
n+009 g+01
z-04000 f+0625
n+010 g+01
x-02200 y+00000 f+1136
n+011 g+01
x+00000 y-00300 f+8333
n+012 g+01
x+02300 y+00000 f+1087
n+013 g+01
x+00000 y+00300 f+8333
n+014 g+01
x-00100 y+00000 f+25000
n+015 g+01
x-01000 y+01600 z+04000 f+0565
n+016 g+01
z-04000 f+0625
n+017 g+01
x-00400 y+00000 f+6250
n+018 g+01
x+00000 y-00400 f+6250
n+019 g+01
x+00500 y+00000 f+5000
n+020 g+01
x+00000 y+00400 f+6250
n+021 g+01
x-00100 y+00000 f+25000
n+022 g+01
x+01600 y+01600 z+04000 f+0544
n+023 g+01
z-04000 f+0625
n+024 g+01
x-01200 y+00000 f+2083
n+025 g+01
x+00000 y-00500 f+5000
n+026 g+01
x+01300 y+00000 f+1923
n+027 g+01
x+00000 y+00500 f+5000
n+028 g+01
x-00100 y+00000 f+25000
n+029 g+01
x-02400 y+00000 z+04000 f+0536
n+030 g+01
z-04000 f+0625
n+031 g+01
x-01200 y+00000 f+2083
n+032 g+01
x+00000 y-00400 f+6250
n+033 g+01
x+01300 y+00000 f+1923
n+034 g+01
x+00000 y+00400 f+6250
n+035 g+01
x-00100 y+00000 f+25000
n+036 g+01
x-04600 y-06400 z+04000 f+0283 m+30
FILE: FACE.WORD

FILE: CHE150.BMP

Simulação de execução: resolução imagem=100*100, diâmetro ferramenta=1

Simulação de execução: resolução imagem=150*150, diâmetro ferramenta=7